1. Field of the Invention
Embodiments of the present invention relate generally to computer platform provisioning and more specifically to a system and method for operating system installation on a diskless computing platform.
2. Description of the Related Art
In certain computing environments, diskless computing devices offer cost and management advantages over full-featured computing devices. The diskless computing device becomes a client of a server system, which provides software boot images to the client. The server system includes mass storage, such as one or more hard disks, from which operating system (OS) boot images are served to one or more client devices. The server system therefore maintains unique operating system boot images for each unique configuration of hardware represented in the client devices. For example, one client device may include a specific type of graphics controller that uses a specific device driver, while a second client device may include a second type of graphics controller that uses a second type of device driver. In such a case, the server system maintains at least two unique boot images, one for each of the two unique configurations of hardware, determined by the specific type of graphics controller.
In a typical scenario, an organization may acquire some number of diskless computing devices to satisfy current computing requirements. Over time, some of the devices may fail and need to be replaced. Identical replacements are not always available, so newer devices may be substituted for the older devices. The organization may also grow and acquire many new devices, which may or may not be identical to the older devices. Furthermore, organizations may implement “refresh” programs in which some number of older devices are replaced en masse with newer devices. The result of replacing or adding diskless computing devices in a typical deployment is that the operating set of diskless computing devices inevitably includes many different unique hardware configurations. Each unique hardware configuration includes a unique combination of components and boots from a unique boot image that includes, among other things, the device drivers required for that unique hardware configuration. Importantly, the different unique hardware configurations of the diskless computing devices across an organization must each have a unique boot image stored on the server system for the diskless computing devices to work effectively.
When operating systems such as Microsoft Windows® are installed on a given device, information about existing hardware components and related configuration data is extracted from the device in order to properly select drivers for the various hardware components present in the device. Once the hardware configuration is successfully probed and drivers are selected, the installation program configures a unique boot image of the operating system for that specific hardware configuration. To generate a new boot image for a new diskless computing device hardware configuration, the operating system is typically installed manually on a special, stand-alone instance of the diskless computing device that includes both a hard disk and an optical media (i.e., CD or DVD) reader. Once the installation is complete, the boot image generated on the special instance of the diskless computing device is manually captured and transferred to the server system. Each diskless computing device designated as a client of the server system is then manually configured to reference the appropriate boot image on the server system so that the diskless computing devices can boot from these boot images. Thus, when a new diskless computing device hardware configuration is introduced into the mix of diskless computing devices, system administration personnel must be engaged to manually generate a new boot image for the new hardware configuration and to manually configure the new diskless computing device to boot from its associated boot image. This process is not only time consuming and expensive, it also is prone to human error.
As the foregoing illustrates, what is needed in the art is a more efficient technique for setting up diskless computing devices and their associated server systems.